1. Field of the Invention
This invention relates generally to computer systems, and, more particularly, to a method and apparatus for undeleting files in a computer system.
2. Description of the Related Art
A computer network is a connection of points (e.g., a plurality of computers) that have been interconnected by a series of communication paths. Moreover, any number of individual computer networks may be interconnected with other computer networks, which may increase the complexity of the overall system. Generally, computer networks may be used to increase the productivity of those computers that are connected to the network. For example, a computer connected to a network may communicate with other computers that are also connected to the network. Furthermore, the computer network may be used to share data, peripherals, or any other resources that are made available on the network.
The interconnection of the various points on the computer network may be accomplished using a variety of known topologies. For example, the most common computer network topologies include bus, star, and ring configurations. Furthermore, communication between the computers connected to the network may be accomplished using a variety of known protocols. For example, the connected computers may communicate using TCP/IP, SNA, and APPN.
Generally, a host computer (e.g., server) may function as a centralized point on the network. For example, using any of the network topologies discussed above, a plurality of client computers may be interconnected such that the server controls the movement of data across the network. The host computer may have an operating system that may be used to execute a server application program that is adapted to support multiple clients. Typically, the server may service requests from a plurality of client computers that are connected to the network. Furthermore, the server may be used to administer the network. For example, the server may be used to update user profiles, establish user permissions, and allocate memory space on the server for a plurality of clients connected to the network.
In many computer networks, a large amount of data may be stored on the server and accessed by the attached client computers. For example, each client computer may be assigned a variable amount of storage space on the server. The assigned storage spaces may be private (i.e., protected) or made available to other clients, and the assigned storage spaces may be used to store a variety of file types, such as documents, email messages, etc. Furthermore, the server may be used to save public data (i.e., data that does not necessarily have a specific owner but may be accessed by any number of clients.) For example, public folders (i.e., directories) may be created on the server, and the public folders may store data that relates to group projects, company information, or any other data that may require access from more than one client.
The administration of a server is often a complex task that requires a great deal of software and hardware knowledge on the part of the administrator. Certain businesses may desire the functional advantages offered by a server, but may lack the expertise to effectively administer the server. Although computer consultants may be capable of providing the expertise, they tend to be costly. One of the functions often performed by a server administrator is undeleting files. For example, users of the computer network may mistakenly or unintentionally delete one or more of the computer files that are stored on the server. Because the computer network may include a large number of users having a plurality of files stored on the server, a simple and convenient method for undeleting files is desirable.
One technique for undeleting files involves restoring the deleted files from a backup storage device, such as a tape drive. Such a technique requires that the deleted file be saved on the backup storage device prior to being deleted. For example, many servers utilize a backup routine that periodically archives files that are stored on the server, and if a file is deleted prior to being archived on the backup storage device, the file may not be recoverable. Even if recoverable, a file that has been archived on the backup storage device may be outdated. For example, if the file has been modified between scheduled backups, the archived file on the backup storage device may not include these changes. In addition to the problems stated above, backup storage devices require expertise to configure, maintain and operate, and these devices add additional costs and complexities to the computer network.
The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.
One aspect of the present invention is seen in a method for undeleting files in a computer system. The method includes flagging at least one deleted file with an identifier. The flagged deleted file is hidden in the computer system. A list of deleted files that have been flagged with the identifier is generated. The list of deleted files is comprised of a directory path hierarchy for each deleted file. A file is selected from the list of deleted files and undeleted.